| Group 2 | Student ID |
|---|---|
| Đỗ Hoàng Thịnh | 20133122 |
| Nguyễn Minh Tiến | 20133093 |
| Huỳnh Nguyễn Tín | 20133094 |
| Bùi Lê Hải Triều | 20133101 |
Sử dụng dữ liệu thu thập trong 7 năm bởi chính phủ Canada (Canada
Government official link), được tổng hợp bởi người dùng Kaggle,
Debajyoti Podder, và đăng tải trên cộng đồng Kaggle (Kaggle
official link).
Dataset trên mô tả chi tiết thông số kỹ thuật cơ bản của các phương tiện
như mức tiêu hao nhiên liệu và lượng khí C02 thải ra, mục đích chính của
bài nghiên cứu này là tìm hiểu về mối tương quan trên và trực quan hóa
dữ liệu.
| Name | Description |
|---|---|
| Model | 4WD/4X4 = Four-wheel drive AWD = All-wheel drive FFV = Flexible-fuel vehicle SWB = Short wheelbase LWB = Long wheelbase EWB = Extended wheelbase |
| Transmission | A = Automatic AM = Automated manual AS = Automatic with select shift AV = Continuously variable M = Manual 3 - 10 = Number of gears |
| Fuel type | X = Regular gasoline Z = Premium gasoline D = Diesel E = Ethanol (E85) N = Natural gasoline |
| FuelConsumptionCity | City fuel consumption ratings (L/100 km) |
| FuelConsumptionHwy | Highway fuel consumption ratings (L/100km) |
| FuelConsumptionComb | Combined rating (55% city, 45% hwy) (L/100km) |
| FuelConsumptionCombMpg | Combined rating (55% city, 45% hwy) (mpg) |
| CO2 emissions | Tailpipe emissions of CO2 (g/km) |
## 'data.frame': 7385 obs. of 12 variables:
## $ Make : chr "ACURA" "ACURA" "ACURA" "ACURA" ...
## $ Model : chr "ILX" "ILX" "ILX HYBRID" "MDX 4WD" ...
## $ VehicleClass : chr "COMPACT" "COMPACT" "COMPACT" "SUV - SMALL" ...
## $ EngineSize : num 2 2.4 1.5 3.5 3.5 3.5 3.5 3.7 3.7 2.4 ...
## $ Cylinders : int 4 4 4 6 6 6 6 6 6 4 ...
## $ Transmission : chr "AS5" "M6" "AV7" "AS6" ...
## $ FuelType : chr "Z" "Z" "Z" "Z" ...
## $ FuelConsumptionCity : num 9.9 11.2 6 12.7 12.1 11.9 11.8 12.8 13.4 10.6 ...
## $ FuelConsumptionHwy : num 6.7 7.7 5.8 9.1 8.7 7.7 8.1 9 9.5 7.5 ...
## $ FuelConsumptionComb : num 8.5 9.6 5.9 11.1 10.6 10 10.1 11.1 11.6 9.2 ...
## $ FuelConsumptionCombMpg: int 33 29 48 25 27 28 28 25 24 31 ...
## $ CO2Emissions : int 196 221 136 255 244 230 232 255 267 212 ...
Ta có thể thấy dataset có 7385 quan sát và 12 biến và các kiểu biến
như sau:
- Kiểu chuỗi (categorical): $Make, $Model, $VehicleClass, $Transmission,
$FuelType
- Kiểu thập phân (numerical): $EngineSize, $FuelConsumptionCity,
$FuelConsumptionHwy, $FuelConsumptionComb
- Kiểu số nguyên (numerical): $Cylinders, $FuelConsumptionCombMpg,
$CO2Emissions
## Make Model VehicleClass EngineSize Cylinders Transmission FuelType
## 1 ACURA ILX COMPACT 2.0 4 AS5 Z
## 2 ACURA ILX COMPACT 2.4 4 M6 Z
## 3 ACURA ILX HYBRID COMPACT 1.5 4 AV7 Z
## 4 ACURA MDX 4WD SUV - SMALL 3.5 6 AS6 Z
## 5 ACURA RDX AWD SUV - SMALL 3.5 6 AS6 Z
## 6 ACURA RLX MID-SIZE 3.5 6 AS6 Z
## FuelConsumptionCity FuelConsumptionHwy FuelConsumptionComb
## 1 9.9 6.7 8.5
## 2 11.2 7.7 9.6
## 3 6.0 5.8 5.9
## 4 12.7 9.1 11.1
## 5 12.1 8.7 10.6
## 6 11.9 7.7 10.0
## FuelConsumptionCombMpg CO2Emissions
## 1 33 196
## 2 29 221
## 3 48 136
## 4 25 255
## 5 27 244
## 6 28 230
## Make Model VehicleClass EngineSize Cylinders Transmission
## 7380 VOLVO XC40 T4 AWD SUV - SMALL 2 4 AS8
## 7381 VOLVO XC40 T5 AWD SUV - SMALL 2 4 AS8
## 7382 VOLVO XC60 T5 AWD SUV - SMALL 2 4 AS8
## 7383 VOLVO XC60 T6 AWD SUV - SMALL 2 4 AS8
## 7384 VOLVO XC90 T5 AWD SUV - STANDARD 2 4 AS8
## 7385 VOLVO XC90 T6 AWD SUV - STANDARD 2 4 AS8
## FuelType FuelConsumptionCity FuelConsumptionHwy FuelConsumptionComb
## 7380 X 10.2 7.5 9.0
## 7381 Z 10.7 7.7 9.4
## 7382 Z 11.2 8.3 9.9
## 7383 Z 11.7 8.6 10.3
## 7384 Z 11.2 8.3 9.9
## 7385 Z 12.2 8.7 10.7
## FuelConsumptionCombMpg CO2Emissions
## 7380 31 210
## 7381 30 219
## 7382 29 232
## 7383 27 240
## 7384 29 232
## 7385 26 248
## Make Model VehicleClass EngineSize Cylinders
## 1 CHEVROLET Suburban 4WD SUV - STANDARD 6.2 8
## 2 CHEVROLET SILVERADO PICKUP TRUCK - STANDARD 5.3 8
## 3 FIAT 500 ABARTH CABRIO MINICOMPACT 1.4 4
## 4 CADILLAC XT5 AWD SUV - SMALL 3.6 6
## 5 CHEVROLET CITY EXPRESS SPECIAL PURPOSE VEHICLE 2.0 4
## 6 CHEVROLET SILVERADO 4WD FFV PICKUP TRUCK - STANDARD 5.3 8
## Transmission FuelType FuelConsumptionCity FuelConsumptionHwy
## 1 A10 Z 17.1 11.3
## 2 A6 X 14.6 10.3
## 3 A6 X 9.7 7.4
## 4 AS8 X 12.8 9.3
## 5 AV X 9.7 9.0
## 6 A6 X 15.0 10.7
## FuelConsumptionComb FuelConsumptionCombMpg CO2Emissions
## 1 14.5 19 340
## 2 12.7 22 298
## 3 8.7 32 202
## 4 11.2 25 263
## 5 9.4 30 216
## 6 13.1 22 307
Dựa vào dataset, ta có thể thấy mức tiêu hao nhiên liệu và lượng CO2 thải ra từ phương tiện phụ thuộc vào lẫn nhau hoặc vào nhiều yếu tố khác nhau. Nhóm đã đưa ra những giả thiết sau:
Các phương tiện thuộc kiểu SUV với trọng lượng lớn hơn sẽ tiêu hao
nhiên liệu hơn, dẫn đến lượng CO2 thải ra nhiều hơn so với các phương
tiện khác.
X: VehicleClass
Y: CO2Emissions | FuelConsumptionComb
Loại nhiên liệu đóng vai trờ tác động trực tiếp đến mức tiêu hao
nhiên liệu và lượng CO2 thải ra, vì mỗi loại nhiên liệu có loại phản ứng
đốt cháy khác nhau.
X: FuelType
Y: CO2Emissions | FuelConsumptionComb
Động cơ càng lớn sẽ càng tiêu hao nhiên liệu hơn vì các mẫu siêu xe
có phân khối rất lớn.
X: EngineSize | Cylinders
Y: CO2Emissions | FuelConsumptionComb
Tổng quan, các biến kết quả là:
- FuelConsumptionCity
- FuelConsumptionHwy
- FuelConsumptionComb
- FuelConsumptionCombMpg
- CO2Emissions
Và các biến giải thích (đầu vào) là:
- Make
- Model
- VehicleClass
- EngineSize
- Cylinders
- Transmission
- TransmissionType
- FuelType
Nhóm sẽ cung cấp một ánh nhìn tổng quan và sâu sắc hơn về dataset thông qua quá trình trực quan hóa, phân tích dataset để kiểm tra giả thiết, hoặc sử dụng phương pháp học máy để tìm ra các xu hướng, khuôn mẫu, và dự đoán các biến kết quả nếu có thể.
Một phương pháp nhóm tin rằng sẽ là một công cụ quan trọng là đặt câu
hỏi và tìm câu trả lời sử dụng các kỹ thuật trực quan hóa và học máy đã
được học. Công đoạn này có thể như sau:
- Đặt giả thiết
- Biến đổi dữ liệu, trực quan hóa, hoặc mô hình hóa dataset trong phạm
vi giả thiết
- Kết quả có thể không như mong đợi, nhưng có thể xác thực và đảm bảo
tính đúng đắn của kết luận
Ngoài ra, nhóm dự kiến sẽ giữa mức tiêu hao nhiên liệu và lượng CO2
thải ra của các nhóm so sánh sau:
- Các phương tiện thuộc lớp SUV, TRUCK với các lớp còn lại
- Các phương tiện có kiểu truyền động tự động và số sàn
- Các phương tiện có khối động cơ lớn hơn trung bình và số còn lại
- Các loại nhiên liệu khác nhau trên các phương tiện cùng lớp, cùng phân
khối, hoặc cùng kiểu truyền động
Để có thể hiểu rõ hơn về các biến kiểu dữ liệu phân loại (categorical
data), ta sẽ đếm số lần xuất hiện các giá trị unique của từng biến trong
quan sát.
Bắt đầu với hãng sản xuất xe.
Có 42 nhà sản xuất xe tại Canada. Với FORD, CHEVROLET, BMW,
MERCEDES-BENZ, và PORSCHE lần lượt là 5 nhà sản xuất phổ biến nhất tại
Canada.
Ta hãy xem 10 mẫu xe của hãng FORD được sử dụng nhiều nhất.
Ta cũng sẽ xem 20 mẫu xe được sử dụng rộng rãi nhất tại Canada cùng với hãng xe sản xuất mẫu xe đó.
## # A tibble: 20 × 3
## Model Make n
## <chr> <chr> <int>
## 1 F-150 FFV FORD 32
## 2 F-150 FFV 4X4 FORD 32
## 3 MUSTANG FORD 27
## 4 FOCUS FFV FORD 24
## 5 F-150 FORD 20
## 6 F-150 4X4 FORD 20
## 7 SONIC CHEVROLET 20
## 8 SONIC 5 CHEVROLET 20
## 9 ACCORD HONDA 19
## 10 ATS CADILLAC 19
## 11 COMPASS JEEP 19
## 12 JETTA VOLKSWAGEN 19
## 13 TACOMA 4WD TOYOTA 19
## 14 CAMARO CHEVROLET 18
## 15 COROLLA TOYOTA 18
## 16 FORTE 5 KIA 18
## 17 SIERRA GMC 18
## 18 SIERRA 4WD GMC 18
## 19 SILVERADO CHEVROLET 18
## 20 SILVERADO 4WD CHEVROLET 18
Đáng chú ý, ta có thể thấy 6 mẫu xe xuất hiện nhiều nhất đều thuộc
hãng FORD, ủng hộ phát hiện FORD là hãng xe phổ biến nhất tại
Canada.
Tiếp theo là phân lớp xe.
Lớp xe SUV - SMALL được sử dụng nhiều nhất tại Canada, theo sau là
lớp MID-SIZE và COMPACT.
Tiếp theo là loại truyền động.
## Transmission n
## 1 AS6 1324
## 2 AS8 1211
## 3 M6 901
## 4 A6 789
## 5 A8 490
## 6 AM7 445
## 7 A9 339
## 8 AS7 319
## 9 AV 295
## 10 M5 193
## 11 AS10 168
## 12 AM6 132
## 13 AV7 118
## 14 AV6 113
## 15 M7 91
## 16 A5 84
## 17 AS9 77
## 18 A4 65
## 19 AM8 62
## 20 A7 53
## 21 AV8 39
## 22 A10 31
## 23 AS5 26
## 24 AV10 11
## 25 AM5 4
## 26 AM9 3
## 27 AS4 2
Các loại truyền động có sẵn trong dataset không chỉ đơn thuần là số
sàn (Manual - M) hoặc tự động (Automatic - A), nên ta sẽ tạo một biến
TransmissionType để dễ xác định và phân loại hai loại trên từ cột
Transmission.
Từ đó, đếm số lần xuất hiện của hai giá trị “A” và “M”.
## TransmissionType n
## 1 A 6200
## 2 M 1185
Mẫu xe có kiểu truyền động tự động (Automatic - A) chiếm ưu thế hơn
hẳn so với số sàn (Manual - M).
Tiếp theo là loại nhiên liệu.
## FuelType n
## 1 X 3637
## 2 Z 3202
## 3 E 370
## 4 D 175
## 5 N 1
Các loại nhiên liệu có sẵn trong dataset là ký hiệu, để đồ thị
user-friendly hơn thì ta sẽ thay đổi tên cho các loại nhiên liệu này dựa
trên đặc tả về cột FuelType ở mục 1.1.
Từ đó, đếm số lần xuất hiện của từng giá trị unique trong cột.
Loại nhiên liệu Regular Gasoline và Premium Gasoline là hai loại nhiên liệu phổ biến nhất được dùng cho các phương tiện tại Canada, với số quan sát cách biệt lớn hơn đáng kể so với các loại nhiên liệu khác.
Từ các quan sát trên, ta sẽ bắt đầu dựng mô hình dự đoán dựa trên các phương pháp phổ biến, kiểm chứng mức độ chính xác của mô hình, và tìm ra biến có ý nghĩa nhất.
Biến kết quả:
- CO2Emissions
Biến giải thích:
- Make
- Model
- VehicleClass
- EngineSize
- Cylinders
- Transmission
- TransmissionType
- FuelType
- FuelConsumptionHwy
- FuelConsumptionCity
- FuelConsumptionComb
- FuelConsumptionCombMpg
Đầu tiên, dựng mô hình train và test, mô hình train sẽ sử dụng 75% quan sát bên trong dataset.
## Ranger result
##
## Call:
## ranger(CO2Emissions ~ ., co2_emissions_train, num.trees = 5000, respect.unordered.factors = "order", seed = set.seed(1608))
##
## Type: Regression
## Number of trees: 5000
## Sample size: 5534
## Number of independent variables: 12
## Mtry: 3
## Target node size: 5
## Variable importance mode: none
## Splitrule: variance
## OOB prediction error (MSE): 10.55433
## R squared (OOB): 0.9969225
Lưu ý: mô hình dự đoán hiện tại có kiểu hồi quy vì hàm ranger tự động chọn dựa vào kiểu biến kết quả là kiểu số hay phân loại, trong trường hợp này, biến kết quả có kiểu số nên mô hình dự đoán có kiểu hồi quy.
Sau khi dựng mô hình dự đoán sử dụng Random Forest có 5000 decision trees sử dụng 5504 quan sát (75%) từ dataset, ta có thể thử dự đoán trên mô hình test và tính toán thông số RMSE của kết quả dự đoán được tạo.
## rmse
## 1 8.300852
Để kiểm tra mức độ chính xác của mô hình dự đoán, ta sẽ sử dụng đồ thị scatter plot để so sánh giữa lượng CO2 thải ra thực và lượng CO2 thải ra dự đoán.
Tiếp theo là xác định các biến có ý nghĩa nhất trong việc dự đoán lượng CO2 thải ra.
Dựa vào đồ thị trên, mức tiêu hao năng lượng có ảnh hưởng lớn nhất
đến kết quả dự đoán lượng CO2 thải ra của mô hình dự đoán Random Forest,
trong khi mẫu xe có ảnh hưởng thấp nhất. Điều này cũng dễ hiểu, khi một
phương tiện có mức tiêu hao nhiên liệu cao, lượng khí CO2 thải ra môi
trường cũng sẽ tăng.
Đáng lưu ý rằng kích cỡ động cơ (EngineSize) và số xi lanh (Cylinders)
cũng là biến có ảnh hưởng cao không liên quan đến mức tiêu hao nhiên
liệu.
Tiếp theo là dự đoán mức tiêu hao nhiên liệu.
Biến kết quả:
- FuelConsumptionComb
Biến giải thích:
- Make
- Model
- VehicleClass
- EngineSize
- Cylinders
- Transmission
- TransmissionType
- FuelType
Đầu tiên, dựng mô hình train và test, mô hình train sẽ sử dụng 75% quan sát bên trong dataset.
## Ranger result
##
## Call:
## ranger(FuelConsumptionComb ~ Make + Model + VehicleClass + EngineSize + Cylinders + Transmission + TransmissionType + FuelType, fuel_comb_train, num.trees = 5000, respect.unordered.factors = "order", seed = seed)
##
## Type: Regression
## Number of trees: 5000
## Sample size: 5502
## Number of independent variables: 8
## Mtry: 2
## Target node size: 5
## Variable importance mode: none
## Splitrule: variance
## OOB prediction error (MSE): 0.1576501
## R squared (OOB): 0.9814102
Lưu ý: mô hình dự đoán hiện tại có kiểu hồi quy vì hàm ranger tự động thực hiện dựa vào kiểu kết quả dự đoán là kiểu số hoặc phân loại, trong trường hợp này, biến kết quả có kiểu số nên mô hình dự đoán có kiểu hồi quy.
Sau khi dựng xong mô hình dự đoán sử dụng Random Forest có 5000 decision trees, ta có thể thử dự đoán trên mẫu test và tính toán thông số RMSE của kết quả dự đoán được tạo.
## rmse
## 1 1.25252
Để kiểm tra mức độ chính xác của mô hình dự đoán, ta sẽ sử dụng đồ thị scatter plot để so sánh giữa mức tiêu hao nhiên liệu thực và mức tiêu hao nhiên liệu được dự đoán.
Cuối cùng, ta có thể xem các biến có ý nghĩa nhất trong việc dự đoán mức tiêu hao nhiên liệu của các phương tiện.
Dựa vào đồ thị trên, kích cỡ động cơ có ảnh hưởng lớn nhất trong mô hình dự đoán mức tiêu hao năng lượng của các phương tiện.
Muktapathak. (2021, November 11). Prediction using random forest
model. Kaggle. Retrieved December 20, 2022, from https://www.kaggle.com/code/muktapathak/prediction-using-random-forest-model
Kevinkwan. (2022, April 23). Vehicle Emissions Eda. Kaggle. Retrieved
December 20, 2022, from https://www.kaggle.com/code/kevinkwan/vehicle-emissions-eda